Alogomachine's BLOG


  • Home

  • Tags

  • Categories

  • Archives

  • About

  • Search

朴素贝叶斯补充与情感分析案例

Posted on 2021-07-28 | In 机器学习 , 算法

机器学习算法朴素贝叶斯

朴素贝叶斯

image-20210728232250767

单词表示:

把一组词典用向量表示

Read more »

朴素贝叶斯与垃圾邮件分类案例

Posted on 2021-07-28 | In 机器学习 , 算法

机器学习算法朴素贝叶斯

朴素贝叶斯

朴素贝叶斯

  • 最适合简单的文本分析算法
Read more »

逻辑回归分析与预测客户是否开设存款账户实战

Posted on 2021-07-27 | In 机器学习 , 算法

机器学习算法逻辑回归

逻辑回归

  • 一般用于分类
  • 一般逻辑回归只能解决分类两种(是/否),解决二元分类模型
  • 但其实可以扩展为多元分类
Read more »

线性回归分析与股票价格预测实战

Posted on 2021-07-27 | In 机器学习 , 算法

机器学习算法线性回归

回归分析

线性回归(英语:linearregression)

  • 是利用线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系建模的方法

image-20210727185758930

Read more »

KNN算法实战-预测二手汽车价格

Posted on 2021-07-26 | In 机器学习 , 算法

机器学习算法KNN

因为是预测价格,所以不需要使用到验证k,

1
2
3
4
5
import pandas as pd
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns
1
2
3
4
#读取数据
df = pd.read_csv('data.csv')
df.head() # data frame
df
Read more »

K-Means算法分析与实现

Posted on 2021-07-24 | In 机器学习 , 算法

机器学习算法K-Means

在数据挖掘中,聚类是一个很重要的概念.

  • 物以类聚,人以群分
Read more »

KNN算法分析与实现

Posted on 2021-07-23 | In 机器学习 , 算法

机器学习算法KNN

k-近邻算法:

  • 最容易理解的算法
  • 最容易实现的算法
Read more »

Pyecharts可视化(二)

Posted on 2021-07-21 | In 数据可视化 , Pyecharts

数据分析数据可视化Pyecharts
点击我查看效果

柱形图

1
2
3
4
5
6
7
8
9
10
11
12
13
from pyecharts import options as opts
from pyecharts.charts import Bar

bar1 = (
# 图表类型
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("商家B", [20, 30, 41, 15, 45, 100])
# 配置项内容
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
)
bar1.render_notebook()
    <div id="483573e30f2f416da05811d91f667a50" style="width:900px; height:500px;"></div>

横向柱形图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from pyecharts import options as opts
from pyecharts.charts import Bar

def bar_reversal_axis(): # 返回的Bar的类实例
bar1 = (
# 图表类型
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.add_yaxis("商家B", [20, 30, 41, 15, 45, 100])
# 翻转
.reversal_axis()
# 系列配置项
.set_series_opts(label_opts=opts.LabelOpts(position='right'))
# 配置项内容
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
)
return bar1
1
2
barh = bar_reversal_axis()
barh.render_notebook()
    <div id="fdc5d30829da4fca9687d275cfc80101" style="width:900px; height:500px;"></div>

折线图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#可以用工具箱将柱形转换为折线,或者直接修改名称
from pyecharts import options as opts
from pyecharts.charts import Line

x = ['2018-{:0>2d}'.format(s) for s in range(1,13)]
y1 = [5,10,26,30,35,30,20,26,40,46,40,50]
y2 = [8,20,24,36,40,36,40,45,50,53,48,58]

bar1 = (
# 图表类型
Line()
.add_xaxis(x)
.add_yaxis("基金A", y1)
.add_yaxis("基金B", y2)
# 配置项内容
.set_global_opts(title_opts=opts.TitleOpts(title="主标题", subtitle="副标题"))
)
bar1.render_notebook()
    <div id="8b01a8f8d42249c0a0225af6e160f0dd" style="width:900px; height:500px;"></div>

散点图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from pyecharts.charts import Scatter
import numpy as np
import pandas as pd

df = pd.DataFrame()
df['weight'] = np.array([56,67,65,70,57,60,80,85,76,64],dtype='int32') #数组对象,必须是整型
df['height'] = np.array([162,170,168,172,168,172,180,176,178,170],dtype='int32')
df['height_m'] = [150,160,164,170,160,158,169,173,171,179]

scatter = Scatter()
scatter.add_xaxis(df['weight']) #散点图才可以是Series对象,其他的不行只能列表,Series需要进行转化
scatter.add_yaxis('男生',df['height'])
scatter.add_yaxis('女生',df['height_m'])
scatter.set_global_opts(title_opts=opts.TitleOpts(title="Scatter-基本示例"))
scatter.render_notebook()
    <div id="34892aa5965b4c6da5ccc50700698d7f" style="width:900px; height:500px;"></div>

散点图数据支持series类型

箱线图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from pyecharts import options as opts
from pyecharts.charts import Boxplot

v1 = [
[850, 740, 900, 1070, 930, 850, 950, 980, 980, 880]
+ [1000, 980, 930, 650, 760, 810, 1000, 1000, 960, 960],
[960, 940, 960, 940, 880, 800, 850, 880, 900]
+ [840, 830, 790, 810, 880, 880, 830, 800, 790, 760, 800],
]

v2 = [
[890, 810, 810, 820, 800, 770, 760, 740, 750, 760]
+ [910, 920, 890, 860, 880, 720, 840, 850, 850, 780],
[890, 840, 780, 810, 760, 810, 790, 810, 820, 850, 870]
+ [870, 810, 740, 810, 940, 950, 800, 810, 870],
]


c = Boxplot() #箱线图的名称
c.add_xaxis(["expr1", "expr2"])
c.add_yaxis("A", c.prepare_data(v1)) #实线是中位数 必须加入list.prepare_data,因为他不是dataframe对象
c.add_yaxis(
"B", c.prepare_data(v2) # 计算 中位数 最小值 最大值...
)
c.set_global_opts(title_opts=opts.TitleOpts(title="BoxPlot-基本示例"))
c.render_notebook()
#数据格式最好要和上面一样
    <div id="8d0a1536a9d24abe88f3c6977b6f4157" style="width:900px; height:500px;"></div>

饼图

1
2
3
4
5
6
7
8
9
10
11
12
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker

c = (
Pie()
.add("", [list(z) for z in zip(Faker.choose(), Faker.values())],radius=["30%", "70%"],) #数据格式需要对等
.set_global_opts(title_opts=opts.TitleOpts(title="Pie-基本示例"))
.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {d}%")) #显示百分比

)
c.render_notebook()
    <div id="6041731010b84d54b150ab399ebc991a" style="width:900px; height:500px;"></div>
1
2
for i in zip(['a','b','c'],[1,2,3]):
print(i) #两数列对应组合
('a', 1)
('b', 2)
('c', 3)

词云图

  • jieba中文分词
  • WordCloud词云库
1
2
3
4
5
6
7
8
9
10
from pyecharts.charts import WordCloud

words = ['python','jupyter','numpy','pandas','matplotlib','sklearn',
'xgboost','lightGBM','simpy','keras','tensorflow',
'hive','hadoop','spark']
counts = [100,90,65,95,50,60,70,70,20,70,80,80,60,60]

cloud = WordCloud()
cloud.add("文章",zip(words,counts))
cloud.render_notebook()
    <div id="a02363d660c4424f8d9ae310355913cc" style="width:900px; height:500px;"></div>

jieba库

1
import jieba
1
2
3
4
text = '7月17日以来,河南省遭遇极端强降雨,中西部、西北部地区出现成片大暴雨,部分地区特大暴雨。根据《国家防汛抗旱应急预案》有关规定,国家防总决定于7月20日20时启动防汛Ⅲ级应急响应。 河南因为暴雨路面出现大规模积水,多名人员被困,全国各地的人民都在关心河南暴雨情况,希望他们平安度过这关。为帮助河南因强降雨受困群众,九派新闻记者陆续搜集河南各地求助信息并进行电话求证核实,并将核实到的信息滚动发布于此条评论区。如您或者家人受困需发布求助信息,可直接在此条置顶内容评论区留言,或直接联系微信号XXXX。请有力量施予援手的你,积极转发扩散'
text_list = jieba.lcut(text) #分词
arr = np.array(text_list)
arr
array(['7', '月', '17', '日', '以来', ',', '河南省', '遭遇', '极端', '强降雨', ',',
       '中西部', '、', '西北部', '地区', '出现', '成片', '大暴雨', ',', '部分', '地区', '特',
       '大暴雨', '。', '根据', '《', '国家', '防汛', '抗旱', '应急', '预案', '》', '有关',
       '规定', ',', '国家', '防总', '决定', '于', '7', '月', '20', '日', '20', '时',
       '启动', '防汛', 'Ⅲ', '级', '应急', '响应', '。', ' ', '河南', '因为', '暴雨', '路面',
       '出现', '大规模', '积水', ',', '多名', '人员', '被困', ',', '全国', '各地', '的',
       '人民', '都', '在', '关心', '河南', '暴雨', '情况', ',', '希望', '他们', '平安',
       '度过', '这关', '。', '为', '帮助', '河南', '因', '强降雨', '受困', '群众', ',',
       '九派', '新闻记者', '陆续', '搜集', '河南', '各地', '求助', '信息', '并', '进行', '电话',
       '求证', '核实', ',', '并', '将', '核实', '到', '的', '信息', '滚动', '发布', '于',
       '此条', '评论', '区', '。', '如', '您', '或者', '家人', '受困', '需', '发布', '求助',
       '信息', ',', '可', '直接', '在', '此条', '置顶', '内容', '评论', '区', '留言', ',',
       '或', '直接', '联系', '微', '信号', 'XXXX', '。', '请', '有', '力量', '施予',
       '援手', '的', '你', ',', '积极', '转发', '扩散'], dtype='<U4')
1
np.unique(arr,return_counts=True)  #统计计算词语
(array([' ', '17', '20', '7', 'XXXX', 'Ⅲ', '、', '。', '《', '》', '中西部', '为',
        '九派', '于', '人员', '人民', '他们', '以来', '你', '信号', '信息', '全国', '关心',
        '内容', '决定', '出现', '到', '力量', '区', '发布', '受困', '可', '各地', '启动',
        '响应', '因', '因为', '国家', '在', '地区', '多名', '大暴雨', '大规模', '如', '家人',
        '将', '希望', '帮助', '平安', '并', '应急', '度过', '强降雨', '微', '您', '情况',
        '成片', '或', '或者', '扩散', '抗旱', '援手', '搜集', '新闻记者', '施予', '日', '时',
        '暴雨', '月', '有', '有关', '极端', '核实', '根据', '此条', '求助', '求证', '河南',
        '河南省', '滚动', '特', '电话', '留言', '的', '直接', '积极', '积水', '级', '置顶',
        '群众', '联系', '被困', '西北部', '规定', '评论', '请', '路面', '转发', '这关', '进行',
        '遭遇', '部分', '都', '防总', '防汛', '陆续', '需', '预案', ','], dtype='<U4'),
 array([ 1,  1,  2,  2,  1,  1,  1,  5,  1,  1,  1,  1,  1,  2,  1,  1,  1,
         1,  1,  1,  3,  1,  1,  1,  1,  2,  1,  1,  2,  2,  2,  1,  2,  1,
         1,  1,  1,  2,  2,  2,  1,  2,  1,  1,  1,  1,  1,  1,  1,  2,  2,
         1,  2,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  1,  2,
         2,  1,  1,  1,  2,  1,  2,  2,  1,  4,  1,  1,  1,  1,  1,  3,  2,
         1,  1,  1,  1,  1,  1,  1,  1,  1,  2,  1,  1,  1,  1,  1,  1,  1,
         1,  1,  2,  1,  1,  1, 12], dtype=int64))

地图

Map

1
[list(z) for z in zip(Faker.provinces, Faker.values())]
[['广东', 44],
 ['北京', 24],
 ['上海', 135],
 ['江西', 25],
 ['湖南', 109],
 ['浙江', 61],
 ['江苏', 20]]
1
2
3
4
5
6
7
8
9
10
11
12
from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker

c = (
Map()
.add("商家A",[list(z) for z in zip(Faker.provinces, Faker.values())], "china") # [['北京',29],['上海',42]] #名称,数据,类型
.set_global_opts(title_opts=opts.TitleOpts(title="Map-基本示例"))
#地区重复结果就会直接相加
#世界地图需要英文,中国的就使用中文
)
c.render_notebook()
    <div id="1e35a634ad934e24be75def22a3ca053" style="width:900px; height:500px;"></div>

Geo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from pyecharts import options as opts
from pyecharts.charts import Geo
from pyecharts.faker import Faker
#默认不显示标签,是地理地图
c = (
Geo()
.add_schema(maptype="china")
.add("geo", [list(z) for z in zip(Faker.provinces, Faker.values())])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(), title_opts=opts.TitleOpts(title="Geo-基本示例")
)
)
c.render_notebook()
    <div id="8674fac4fa7549b09bc2fb3c52b13a24" style="width:900px; height:500px;"></div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import math

from pyecharts.faker import Faker
from pyecharts import options as opts
from pyecharts.charts import Line3D


data = []
for t in range(0, 25000):
_t = t / 1000
x = (1 + 0.25 * math.cos(75 * _t)) * math.cos(_t)
y = (1 + 0.25 * math.cos(75 * _t)) * math.sin(_t)
z = _t + 2.0 * math.sin(75 * _t)
data.append([x, y, z])
c = (
Line3D()
.add(
"",
data,
xaxis3d_opts=opts.Axis3DOpts(Faker.clock, type_="value"),
yaxis3d_opts=opts.Axis3DOpts(Faker.week_en, type_="value"),
grid3d_opts=opts.Grid3DOpts(width=100, height=100, depth=100),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
max_=30, min_=0, range_color=Faker.visual_color
),
title_opts=opts.TitleOpts(title="Line3D-基本示例"),
)
)
c.render_notebook()
    <div id="7d91a1ebb5be4a56960ecf5e78dfa703" style="width:900px; height:500px;"></div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
import pyecharts.options as opts
from pyecharts.charts import Bar3D

"""
Gallery 使用 pyecharts 1.1.0
参考地址: https://echarts.baidu.com/examples/editor.html?c=bar3d-punch-card&gl=1

目前无法实现的功能:

1、光照和阴影暂时无法设置
"""

hours = [
"12a",
"1a",
"2a",
"3a",
"4a",
"5a",
"6a",
"7a",
"8a",
"9a",
"10a",
"11a",
"12p",
"1p",
"2p",
"3p",
"4p",
"5p",
"6p",
"7p",
"8p",
"9p",
"10p",
"11p",
]
days = ["Saturday", "Friday", "Thursday", "Wednesday", "Tuesday", "Monday", "Sunday"]

data = [
[0, 0, 5],
[0, 1, 1],
[0, 2, 0],
[0, 3, 0],
[0, 4, 0],
[0, 5, 0],
[0, 6, 0],
[0, 7, 0],
[0, 8, 0],
[0, 9, 0],
[0, 10, 0],
[0, 11, 2],
[0, 12, 4],
[0, 13, 1],
[0, 14, 1],
[0, 15, 3],
[0, 16, 4],
[0, 17, 6],
[0, 18, 4],
[0, 19, 4],
[0, 20, 3],
[0, 21, 3],
[0, 22, 2],
[0, 23, 5],
[1, 0, 7],
[1, 1, 0],
[1, 2, 0],
[1, 3, 0],
[1, 4, 0],
[1, 5, 0],
[1, 6, 0],
[1, 7, 0],
[1, 8, 0],
[1, 9, 0],
[1, 10, 5],
[1, 11, 2],
[1, 12, 2],
[1, 13, 6],
[1, 14, 9],
[1, 15, 11],
[1, 16, 6],
[1, 17, 7],
[1, 18, 8],
[1, 19, 12],
[1, 20, 5],
[1, 21, 5],
[1, 22, 7],
[1, 23, 2],
[2, 0, 1],
[2, 1, 1],
[2, 2, 0],
[2, 3, 0],
[2, 4, 0],
[2, 5, 0],
[2, 6, 0],
[2, 7, 0],
[2, 8, 0],
[2, 9, 0],
[2, 10, 3],
[2, 11, 2],
[2, 12, 1],
[2, 13, 9],
[2, 14, 8],
[2, 15, 10],
[2, 16, 6],
[2, 17, 5],
[2, 18, 5],
[2, 19, 5],
[2, 20, 7],
[2, 21, 4],
[2, 22, 2],
[2, 23, 4],
[3, 0, 7],
[3, 1, 3],
[3, 2, 0],
[3, 3, 0],
[3, 4, 0],
[3, 5, 0],
[3, 6, 0],
[3, 7, 0],
[3, 8, 1],
[3, 9, 0],
[3, 10, 5],
[3, 11, 4],
[3, 12, 7],
[3, 13, 14],
[3, 14, 13],
[3, 15, 12],
[3, 16, 9],
[3, 17, 5],
[3, 18, 5],
[3, 19, 10],
[3, 20, 6],
[3, 21, 4],
[3, 22, 4],
[3, 23, 1],
[4, 0, 1],
[4, 1, 3],
[4, 2, 0],
[4, 3, 0],
[4, 4, 0],
[4, 5, 1],
[4, 6, 0],
[4, 7, 0],
[4, 8, 0],
[4, 9, 2],
[4, 10, 4],
[4, 11, 4],
[4, 12, 2],
[4, 13, 4],
[4, 14, 4],
[4, 15, 14],
[4, 16, 12],
[4, 17, 1],
[4, 18, 8],
[4, 19, 5],
[4, 20, 3],
[4, 21, 7],
[4, 22, 3],
[4, 23, 0],
[5, 0, 2],
[5, 1, 1],
[5, 2, 0],
[5, 3, 3],
[5, 4, 0],
[5, 5, 0],
[5, 6, 0],
[5, 7, 0],
[5, 8, 2],
[5, 9, 0],
[5, 10, 4],
[5, 11, 1],
[5, 12, 5],
[5, 13, 10],
[5, 14, 5],
[5, 15, 7],
[5, 16, 11],
[5, 17, 6],
[5, 18, 0],
[5, 19, 5],
[5, 20, 3],
[5, 21, 4],
[5, 22, 2],
[5, 23, 0],
[6, 0, 1],
[6, 1, 0],
[6, 2, 0],
[6, 3, 0],
[6, 4, 0],
[6, 5, 0],
[6, 6, 0],
[6, 7, 0],
[6, 8, 0],
[6, 9, 0],
[6, 10, 1],
[6, 11, 0],
[6, 12, 2],
[6, 13, 1],
[6, 14, 3],
[6, 15, 4],
[6, 16, 0],
[6, 17, 0],
[6, 18, 0],
[6, 19, 0],
[6, 20, 1],
[6, 21, 2],
[6, 22, 2],
[6, 23, 6],
]
data = [[d[1], d[0], d[2]] for d in data]


(
Bar3D(init_opts=opts.InitOpts(width="1600px", height="800px"))
.add(
series_name="",
data=data,
xaxis3d_opts=opts.Axis3DOpts(type_="category", data=hours),
yaxis3d_opts=opts.Axis3DOpts(type_="category", data=days),
zaxis3d_opts=opts.Axis3DOpts(type_="value"),
)
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(
max_=20,
range_color=[
"#313695",
"#4575b4",
"#74add1",
"#abd9e9",
"#e0f3f8",
"#ffffbf",
"#fee090",
"#fdae61",
"#f46d43",
"#d73027",
"#a50026",
],
)
)
.render_notebook()
)

    <div id="286cf24d686747b0be126ef08292eaef" style="width:1600px; height:800px;"></div>

布局

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from pyecharts import options as opts
from pyecharts.charts import Bar, Line
from pyecharts.faker import Faker

v1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3]
v2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3]
v3 = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]


bar = (
Bar()
.add_xaxis(Faker.months)
.add_yaxis("蒸发量", v1)
.add_yaxis("降水量", v2)
.extend_axis(
yaxis=opts.AxisOpts(
axislabel_opts=opts.LabelOpts(formatter="{value} °C"), interval=5
)
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
title_opts=opts.TitleOpts(title="Overlap-bar+line"),
yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} ml")),
)
)

line = Line().add_xaxis(Faker.months).add_yaxis("平均温度", v3, yaxis_index=1)
bar.overlap(line)
bar.render_notebook()
    <div id="b1272803e07c4ca380d531d2f6309fcf" style="width:900px; height:500px;"></div>

并行多图Grid

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from pyecharts import options as opts
from pyecharts.charts import Bar, Geo, Grid
from pyecharts.faker import Faker

bar = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(legend_opts=opts.LegendOpts(pos_left="20%"))
)


geo = (
Geo()
.add_schema(maptype="china")
.add("geo", [list(z) for z in zip(Faker.provinces, Faker.values())])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(),
title_opts=opts.TitleOpts(title="Grid-Geo-Bar"),
)
)
grid = (
Grid(init_opts=opts.InitOpts(width="900px",height="900px")) #加大画布大小也行
.add(bar,grid_opts=opts.GridOpts(pos_left="10%",pos_top="80%",is_show=True)) #调整间距,来避免重合
.add(geo,grid_opts=opts.GridOpts(pos_left="90%",pos_top="10%",is_show=True)) #调整间距,来避免重合
# .add(bar,grid_opts=opts.GridOpts(pos_left="10%",pos_top="80%"))
)
1
grid.render_notebook()
    <div id="2b97e72a738d452eb0c8940456b653cb" style="width:900px; height:900px;"></div>

顺序多图

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from pyecharts import options as opts
from pyecharts.charts import Bar, Geo, Page
from pyecharts.faker import Faker

bar = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(legend_opts=opts.LegendOpts(pos_left="20%"))
)


geo = (
Geo()
.add_schema(maptype="china")
.add("geo", [list(z) for z in zip(Faker.provinces, Faker.values())])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(),
title_opts=opts.TitleOpts(title="Grid-Geo-Bar"),
)
)
page = (
Page()
.add(bar) #没有参数,不能设置
.add(geo) #没有参数,不能设置
)
1
page.render_notebook()
    <div id="199ff42a508d44f6ad14a1d74408c399" style="width:900px; height:500px;"></div>
    <div id="f5cb6a87a462408c9727b8f9c49ce892" style="width:900px; height:500px;"></div>

选项卡

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from pyecharts import options as opts
from pyecharts.charts import Bar, Geo, Tab
from pyecharts.faker import Faker

bar = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(legend_opts=opts.LegendOpts(pos_left="20%"))
)
geo = (
Geo()
.add_schema(maptype="china")
.add("geo", [list(z) for z in zip(Faker.provinces, Faker.values())])
.set_series_opts(label_opts=opts.LabelOpts(is_show=False))
.set_global_opts(
visualmap_opts=opts.VisualMapOpts(),
title_opts=opts.TitleOpts(title="Grid-Geo-Bar"),
)
)
tab = (
Tab()
.add(geo,"地图")
.add(bar,"柱形图")
)
1
tab.render_notebook() #组件选项卡
    <div id="bacaaeb1f73d409e9d08ae0162754f93" class="chart-container" style="width:900px; height:500px;"></div>
    <div id="9950ad587efa42a69f96398587262ac4" class="chart-container" style="width:900px; height:500px;"></div>

时间线轮播

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
from pyecharts import options as opts
from pyecharts.charts import Pie, Timeline
from pyecharts.faker import Faker

attr = Faker.choose()
t1 = Timeline()
for i in range(2015,2021):
pie = (
Pie()
.add(
"商家A",
[list(z) for z in zip(attr,Faker.values())],
# rosetype="area",
# radius=["30%","55%"],
)
.set_global_opts(title_opts=opts.TitleOpts('某商店{}年营业额'.format(i)))
)
t1.add(pie,"{}年".format(i))
t1.render_notebook() #下面有时间线
    <div id="b75cabdfb8c74bb090e8526962ae8347" style="width:900px; height:500px;"></div>

在ppt中插入Pyecharts图表
https://www.cnblogs.com/mark-wq/p/14168535.html

html要改ie内核:
加上:< meta http-equiv=”X-UA-Compatible” content=”IE=EmulateIE10”/>

顺便评个分吧!👇

Pyecharts可视化

Posted on 2021-07-20 | In 数据可视化 , Pyecharts

数据分析数据可视化Pyecharts

pyecharts官方文档

点击我查看效果

1
import pyecharts
1
pyecharts.__version__
Read more »

Seaborn补充总结

Posted on 2021-07-19 | In 数据可视化 , Seaborn

数据分析数据可视化Seaborn

数据分析三大类型:

探索型数据分析 ——> 图表可视化

验证型数据分析 ——> 假设检验

预测型数据分析 ——> 机器学习

Read more »
<1234…6>

59 posts
15 categories
33 tags
© 2021 Alogomachine
粤ICP备 2021089270 | 粤公网安备 2021089270